package controlador;
import java.util.Vector;

import persistencia.AdmPersistenciaClientes;

import modelo.*;

public class Sistema {
	private Vector<Cliente> clientes;
	private static Sistema instancia;
	
	public static Sistema getInstancia()
	{
		if (instancia == null)
			instancia = new Sistema();
		return instancia;
	}
	
	public Sistema() {
		clientes = new Vector<Cliente>();
	}
	
	public void crearClte(String dni, String nombre){
		Cliente cliente=new Cliente(dni, nombre);
		if (buscarClte(dni)==null){
			clientes.add(cliente);
			AdmPersistenciaClientes.getInstancia().insertCliente(dni,nombre);
		}
	}
	
	private Cliente buscarClte (String dni){
		int i;
		for(i=0; i<clientes.size();i++){
			if (clientes.elementAt(i).getDni().equals(dni))
				return clientes.elementAt(i);
		}	
		return AdmPersistenciaClientes.getInstancia().buscarCliente(dni);
	}
	
	public void crearTarjeta(String dni, int numero, int limite){
		Cliente cliente;
		cliente = buscarClte(dni);
		if (cliente!=null)
			cliente.crearTarj(dni,numero, limite);
	}
	
	public String mostrarTarjetas(String dni){
		Cliente cli = buscarClte(dni);
		int suma = 0;
		String datos;
		if (cli!=null){
			suma = cli.sumarLim();
			datos = "DNI: "+cli.getDni()+". | "+"Nombre: "+cli.getNombre()+". | "+"Total: "+String.valueOf(suma)+".";
			return datos;
		}
		return "no existe el cliente";
	}
}
